Web Real-Time Communications (WebRTC) is an Application Programming Interface (API) definition being drafted by the World Wide Web Consortium to enable browser-to-browser applications for voice calling, video chat, and Point-to-Point (P2P) file sharing without the need for browser plugins.
With the advent of WebRTC, there exists a need to support browser-to-phone communications as well as enhance certain aspects of browser-to-browser communications. In particular, the corporate Information Technology (IT) department will begin to feel the impacts of WebRTC. This may first take the form of needing to regulate the use of browser-based communications, much like the use of other non-secure consumer-centric communications services like Skype and FaceTime need to be regulated. It could later lead to integrating browsers with WebRTC with the Session Initiation Protocol (SIP)-based communications solutions deployed on premise, so that voice and video sessions can be established between the two. And eventually it could change the way communications software is deployed in the enterprise, with client-based soft phones and Unified Communications (UC) software being replaced by browser-based technologies.
Furthermore, while WebRTC facilitates browser-to-browser communications, it has been developed with the intention of facilitating browser-to-browser communications within a single web application (e.g., a single website). WebRTC does not, however, easily facilitate invocation of enterprise communication applications on such browser-to-browser communications. This is especially true if there are multiple web applications within a single enterprise that must be invoked. Meanwhile, application development in other protocols (e.g., SIP, H.323, etc.) is relatively mature. It would be desirable to enable the already-developed applications of SIP and H.323 to be used in WebRTC communications.
Some groups have begun developing WebRTC solutions that allow enterprise communication applications (e.g., Private Branch eXchanges (PBXs)) to be applied on WebRTC calls by embedding a SIP User Agent (UA) within the browser. This solution has a couple of shortcomings. First, if the browser is to be represented as a fully functional SIP endpoint having enterprise features, the embedded JavaScript SIP UA must be very rich and, therefore, complex. Second, these solutions don't allow for some communications to proceed as “pure” WebRTC communications and for others to proceed as SIP-based communications.